Backlash acceleration control method

ABSTRACT

A backlash acceleration control method capable of more accurately setting a timing for an initiation for a backlash acceleration correction in a servo system that carries out a feedforward control compared with conventional methods. According to this method, the backlash acceleration correction is initiated at the time when the feedforward amount is reversed from positive to negative or vice versa. Furthermore, this initiation time for the backlash acceleration correction can also be determined according to the point of change of the sign of a speed command modified by the feed forward amount. When the feedforward coefficient becomes close to &#34;1&#34;, the positional deviation becomes almost &#34;0&#34;, and therefore an actual shift movement comes to follow the shift command without time lag. Accordingly, a point where a shift direction of the shift command is reversed will be dispersed, and so an initiation time for the backlash acceleration correction cannot be determined accurately. However, a point (Ts), where a sign of the feedforward amount is reversed, can accurately represent the turning point of the shift direction.

TECHNICAL FIELD

The present invention relates to a servo control method for controllinga servo-motor, which actuates a feed rod of a table and the likeconstituting a machine tool, and more particularly to a backlashacceleration correction applied when a shifting direction of the feedrod is reversed.

BACKGROUND ART

In machine tools, when an actuating direction of a servo-motor foractuating the table and the like is reversed, it is usual that a drivenpart of the machine cannot promptly response to or follow the reversingmovement of the servo-motor because of backlash of feed screw or theeffect of friction. For this reason, when a machine tool is performingprofile machining, a protrusion may be formed on a cut surface of theworkpiece when a shifting direction of a feed rod equipped in themachine tool is reversed.

For example, it is supposed that the machine tool operates to cut theworkpiece in an arc shape on a plane defined by two axes of X-axis andY-axis. And then, the table moves from one quadrant to another quadrantwhen the table is driven to move toward the plus in the direction of theX-axis and toward the minus in the direction of Y-axis. In thisinstance, if the table is actuated to move continuously in the samedirection with respect to the Y-axis and, to the contrary, actuated toturn toward the minus in the direction of the X-axis, it is expectedthat no problem will occur with respect to the Y-axis because thecutting operation is continuously and smoothly carried out at the samespeed in the direction of the Y-axis. However, the positional deviationin the direction of the X-axis becomes "0" and therefore, first of all,its torque command value becomes smaller, so that the servo-motor cannotreverse its turning direction immediately due to friction, and also, theshifting direction of the table cannot be immediately reversed due tobacklash of a feed screw provided for feeding the table. Thus, theshifting movement of the workpiece in the X-direction cannot follow theshifting command and, therefore, there is caused a delay in the responseof the workpiece. As a result of such a delay, a protrusion will beformed on the arc-shaped cut surface.

In order to eliminate or reduce this kind of protrusion, so-calledbacklash acceleration has been employed in such a manner that, when ashifting direction is reversed, a positional backlash correction isapplied to a positional deviation and further, when the positionaldeviation is reversed, the servo-motor is accelerated in its reversingdirection by adding an adequate amount of correction (i.e. anacceleration amount) to the speed command in order to reduce theprotrusion in the transition phase from one quadrature to anotherquadrature, as disclosed, for example, in the Unexamined Japanese PatentApplication JP, A, 4- 8451.

Furthermore, to reduce the amount of the positional deviation in a servomotor system for controlling a machine tool, a feedforward control isemployed. Especially, in the case where a machine tool operates to cut aworkpiece in a high-speed operating mode, a time lag in the servo systemwill cause an error in finished cut shape of the workpiece.

In order to reduce such a shape error, as disclosed in the JapanesePatent Application Serial No. 2-301154, filed by the same applicant ofthe present application, there has been developed a feedforward controlwherein a feedforward amount is obtained by smoothing a shift commandsupplied from a numerical control apparatus, and thus obtainedfeedforward amount is added to a speed command that is calculated as anoutput of a position loop by multiplying a positional deviation by aposition gain, thereby executing a speed loop processing on the basis ofthis corrected speed command.

This feedforward control will be explained with reference to FIG. 4. DDA(Digital Differential Analyzer) 10 splits a shift command Mcmd suppliedfrom a CNC (Computer-equipped Numerical Controller) at a regularinterval of a distribution period into shift commands corresponding toposition and speed loop processing periods. An error counter 11 obtainsa positional deviation by adding the values subtracting a feedbackamount Pfb from the speed command outputted from the DDA 10.

A speed command term 12 obtains a speed command, multiplying thepositional deviation stored in the error counter 11 by a position gainKp. A reference numeral 13 denotes a speed loop term, and a referencenumeral 14 denotes an integration term that integrates the servo-motorspeed so as to detect a position.

Furthermore, an advance-factor term 15 is used in a feedforward control.This advance-factor term 15 serves to advance the shift commandoutputted from the DDA 10 by an amount corresponding to d period of theposition and speed loop processing period.

A smoothing circuit 16 executes a processing for obtaining an averagevalue. A reference numeral 17 denotes a feedforward amount term formultiplying the value outputted from the smoothing circuit 16 by afeedforward coefficient α to obtain a feedforward amount.

Then, thus obtained feedforward amount is added to the speed command,which is obtained by multiplying the positional deviation by theposition gain Kp. Thus, a corrected speed command Vcmd is obtained as acontrol value corrected by the feedforward amount. Then, the speed loop13 carries out its processing on the basis of thus corrected speedcommand Vcmd.

In the case where the servo-motor is controlled in such a servo system,if the feedforward coefficient α is close to "1", most of the speedcommands Vcmd will be determined by the command produced by thefeedforward control. In other words, the positional deviation becomesnearly equal to "0".

Furthermore, as the command produced by the feedforward control hasadvanced phase, the phase of the positional deviation is delayedrelative to the feedforward command.

Moreover, when the feedforward coefficient α is close to "1", the motorwill hardly delay in its shift position with respect to the shiftcommand. Consequently, the positional deviation being nearly equal to"0", and the phase being delayed, it will be difficult to determine thepoint for initiating a backlash acceleration correction at the time ofreversal of shifting direction on the basis of the positional deviation.

Still further, as an actual position of the motor is not delayed againstthe shift command, if the distribution period of the CNC is too long(normally, the distribution period is longer than the position and speedloop processing period), the initiating time of the backlashacceleration correction may disperse depending on the starting point ofmachining program (point a1 indicated in FIGS. 5a and 5b, for example).

FIGS. 5a and 5b show examples of an arc-shape cutting operation. Whenthe positions according to the respective shift commands in eachdistribution period are given as a1, a2, a3 and a4 respectively, asillustrated in FIG. 5a, in performing the arc-shape cutting operation,the actual reversal of the direction of shift with respect to Y-axis canoccur either at position a2, which is a position before the rightposition for reversal, or position a3, which is a position after theright position for reversal as illustrated in FIG. 5b, depending on thecondition of the shift command in each distribution period.

When the feedforward coefficient α is nearly equal to "0", and thus theeffect of the feedforward component on the speed command Vcmd isrelatively small, the positional deviation causes a delay of several 10msec (i.e. a value corresponding to 1/Kp). Hence, above-describeddispersion can be absorbed by this delay, causing no problem.

However, when the feedforward coefficient α is close to [1], the delayof actual position is almost nonexistent in relation to the shiftcommand. Thus, an error may be enlarged if the backlash accelerationcorrection is initiated at the above-explained reversing point ofposition deviation.

DISCLOSURE OF INVENTION

An object of the present invention is to realize a backlash accelerationcorrection which is capable of initiating a backlash acceleration at anoptimum position where the shifting direction is really changed, even inthe case where the feedforward coefficient is nearly equal to "1",thereby improving working accuracy.

In order to solve above-problem, the present invention provides abacklash acceleration control method comprising steps of: obtaining afeedforward amount through a smoothing processing in which a shiftcommand of a position and speed loop processing period and another shiftcommands respectively corresponding to several periods arrayed beforeand after the position and speed loop processing period are averaged;executing a feedforward control on the basis of said feedforward amount;and initiating a backlash acceleration correction at a time when saidfeedforward amount is reversed from positive to negative or vice versa,or at a time when a speed command is reversed from positive to negativeor vice versa, where said speed command is obtained in such a mannerthat a positional deviation is multiplied by a position gain, and thismultiplied result is then added to said feedforward amount.

When a value of the feedforward coefficient α approaches "1", thepositional deviation becomes nearly equal to "0", and the speed commandVcmd modified by the feedforward amount will become substantially thesame as the component obtained by the feedforward control, so that anaccurate backlash acceleration correction can be executed as far as aninitiating time for the backlash acceleration correction coincides witha point where the sign of the feedforward amount is reversed.

Also, the initiating time of backlash acceleration correction may be thepoint of time where the sign of the speed command Vcmd modified by thefeedforward amount is reversed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a flow chart showing a processing executed by the processor ofthe digital servo circuit in each distribution period in order to carryout a feedforward and a backlash acceleration correction in accordancewith one embodiment of the present invention;

FIG. 2 is a flow chart showing the part of feedforward and the backlashacceleration correction processing to be respectively executed in eachposition and speed loop processing period by the processor in thedigital servo circuit;

FIG. 3 is a flow chart showing the remainder of FIG. 2;

FIG. 4 is a block diagram showing a servo system performing thefeedforward control;

FIGS. 5a and 5b are explanatory views showing the dispersion of pointwhere the shifting direction is reversed;

FIG. 6 is an explanatory view showing the relationship between the shiftcommand and the feedforward amount;

FIG. 7 is a block diagram showing the digital servo system for executingthe embodiment of the present invention; and,

FIG. 8 is an explanatory view showing dispersion of point where theshift direction is reversed in an example for cutting an arc shape.

BEST MODE FOR CARRYING OUT THE INVENTION

In the feedforward control of the servo system as is shown in FIG. 4,where the advance-factor term 15, the smoothing processing circuit 16and the feedforward coefficient α term 17 are given, its feedforwardamount FFO can be obtained from the following equation (1).

    FFO=α·Z.sup.d (1+Z.sup.-1 +Z.sup.-2 +--+Z.sup.-(N-1))·(DDA data)/N                   (1)

Where N=(distribution period/position and speed loop processing period),and DDA data is a shift command in a position and speed loop processingperiod.

For example, when the feedforward coefficient α equals to "1"; thedistribution period is 8 msec; and the position and speed loop period is1 msec., as an advanced amount by the advance-factor term 15 is set toapproximately half of the distribution period, the d of advance-factor15 is 4 or 3. For instance, if the d is set to 3, the equation (1) canbe rewritten into the following equation (2).

    FFO=(Z.sup.3 +Z.sup.2 +Z.sup.1 +1+Z.sup.-1 +Z.sup.-2 +Z.sup.-3 +Z.sup.-4)·(DDA data)/8                          (2)

That is, the feedforward amount FFO is defined as a value to be obtainedby first averaging N pieces of shift command (DDA data) arrayed evenlybefore and after the shift command (DDA data) of the present positionand speed loop processing period, and then multiplying thus obtainedaverage value by the coefficient α.

If it is supposed that a shift command of [8×8] is outputted from theCNC in the first distribution period, and then a shift command of[-16×8] is outputted in the second distribution period, a shift commandin each position and speed loop processing period is obtained as [8] inthe first distribution period and obtained as [-16] in the nextdistribution period as indicated by P in FIG. 6.

On the other hand, the feedforward amount FFO obtained by the equation(2) is represented by a shaded part designated by Q in FIG. 6. As shownin FIG. 6, a negative or positive sign of the shift command of thedistribution period is reversed at a time Tn while a positive ornegative sign of the feedforward amount FFO is reversed at a time Ts.Furthermore, if considered as a continuous system, a sign reversingtime, i.e. a direction reversing time, is defined as Tc.

The sign reversing time Ts of the feedforward amount FFO is rathercloser to the sign reversing time Tc of the continuous system than thesign reversing time Tn of the shift command of distribution period,thereby more accurately indicating the reversing time of the shiftdirection.

FIG. 7 is a block diagram showing an essential part of a servo-motorcontrol system applied to a machine tool, which embodies an example inaccordance with the present invention. In FIG. 7, a CNC 20 controls amachine tool, and a common memory 21 receives various commands suppliedfrom the CNC 20 for use in the servo-motor and transmits them to aprocessor in the digital servo circuit 22.

The digital servo circuit 22 is constituted by the processor, ROM andRAM. The processor executes controls such as a position control, a speedcontrol, and a current control. A servo amplifier 23 is constituted ofcomponents such as transistor inverters. A servo-motor 24 actuates afeed rod of the machine tool. A pulse coder 25, as a position detector,detects a rotational position of the servo-motor 24 and feeds the resultback to the digital servo circuit 22. By the way, FIG. 7 shows only aservo-motor and a servo amplifier for a single feed rod.

FIGS. 1, 2 and 3 are flow charts showing a feedforward processing to beexecuted by the CPU of the digital servo circuit 22. FIG. 1 shows aprocessing carried out in each distribution period. FIGS. 2 and 3 show afeedforward processing and a backlash acceleration correction processingto be carried out respectively in each position and speed loopprocessing period. By the way, the remainders of this control other thanthe feedforward processing are the same as the previous ones andtherefore omitted here.

The CPU of the digital servo circuit 22 executes the processing definedin FIG. 1 in every distribution period. First, in step S1, the CPU readsin a next shift command Mcmd (a shift command to be supplied followingthe shift command for the present position and speed loop processing)from the common memory 21, and judges whether or not the shift commandMcmd read in the step S1 is "0". If "0", the CPU proceeds to step S6. Ifnot "0", the CPU proceeds to step S3, wherein this shift command Mcmd ismultiplied by a shift command, which has been read in immediatelypreceding period and stored in a register Rz, and, judges whether or notthus multiplied value is negative.

That is, it is judged whether or not a positive or negative sign of theshift command read in this period is reversed against a sign of theshift command, which has been read in immediately preceding period. Bythe way, the register Rz is initially set to "0".

If the result in the step S3 is negative, the CPU proceeds to a step S4,and a flag F1 is set to "1" in order to show that the sign of the nextthe shift command will be reversed in this step.

Then, in step S5, the shift command read in this period is stored in theregister Rz.

Furthermore, if the result in the step S3 is not negative (with theshift command not reversed), the CPU proceeds to the step S5 withoutsetting the flag F1 to "1".

Next, in step S6, a register R3 is updated by a value stored in aregister R2; the register R2 is updated by a value stored in a registerR1; and the register R1 is updated by the shift command Mcmd read in thestep S1 in this period.

As will be described later, the position and speed loop processingcarries out the DDA processing on the basis of the shift command Mcmdstored in the register R2 to obtain a shift command for each positionand speed loop processing so that each position and speed loopprocessing can be executed based on this shift command.

With processing defined in the step S6, the register R1 stores the shiftcommand Mcmd for the next distribution period; the register R2 storesthe present shift command Mcmd for the present distribution period bywhich the position and speed loop processing is executed; and theregister R3 stores the shift command Mcmd used in immediately precedingdistribution period.

Moreover, these registers R1-R3 are all initialized to "0" in thebeginning of this processing.

Finally, the counter C is set to "0" in step S7 before finishing onecomplete processing of the distribution period.

Subsequently, the CPU of the digital servo circuit executesabove-described processing in each distribution period. Therefore, theflag F1 is set to "1" when the sign of the shift command Mcmd isreversed.

On the other hand, the CPU in the digital servo circuit executes theprocessing of FIGS. 2 and 3 in each position and speed loop processingperiod. First, in step S11, (the CPU) judges whether or not the value ofcounter C is equal to or less than 1/2 of the above-described value Nwhich is to be obtained by dividing the distribution period by theposition and speed loop processing period (i.e., N=distributionperiod/position and speed loop processing period). If the value of thecounter C is equal to or less than N/2, an accumulator SUM is modifiedin step S12 by adding to it the value obtained by subtracting the valueof the register R3 from the value of the register R2.

On the other hand, if the value of the counter C is larger than N/2,however, the accumulator SUM is modified in step S13 by adding the valueobtained by subtracting the value of the register R2 from the value ofthe register R1, and the CPU proceeds to a step S14. By the way, theaccumulator SUM is initially set to "0".

In the step S14, the value of accumulator SUN is divided by square N,and this divided value is next multiplied by the feedforward coefficientα to obtain a feedforward amount FFO.

Then, though it is not shown in FIG. 2, a shift command corresponding tothe position and speed loop processing period is obtained by executingthe DDA processing on the basis of the shift command Mcmd, which isapplied for this distribution period and stored in the register R2, anda speed command is next obtained, on the basis of thus obtained shiftcommand, for carrying out the position loop processing.

Subsequently, thus obtained speed command is added to theabove-described feedforward amount FFO to obtain a speed command Vcmdmodified by the feedforward amount FFO, and, on the basis of this speedcommand Vcmd, the speed loop processing will be executed in the samemanner as the conventional system.

Next, the counter C is incremented by "1" in step S15. The explanationsof the DDA processing, the position loop processing and the speed loopprocessing are omitted here as these processings are the same as thoseof the conventional system.

The processing defined by the above-described steps S11-S15 correspondsto a processing for obtaining the feedforward amount FFO. Thisprocessing is designed for obtaining feedforward amount FFO on the basisof the shift command Mcmd inputted to the DDA in each distributionperiod without using the previously described equation (1); however, theresult of these two processings are substantially the same, the reasonfor which will be explained hereinafter.

For simplicity, the following explanation will be made based on thepreviously described example. That is, the explanation will be madeassuming that the distribution period is 8 msec; the position and speedloop processing period is 1 msec; the feedforward coefficient α is "1";and the shift command Mcmd outputted from the CNC in each distributionperiod registers one of the values of "0", "0", "8×8", and "-16×8",successively.

When the shift command Mcmd read in the step S1 is "8×8", both theregisters R3 and R2 store "0", and the register R1 stores "8×8".

Further, if the value of counter C is equal to or less than N/2=4, theaccumulator SUM is added with the difference of the value of theregister R2 and the value of the register R3 (assuming that theaccumulator SUM has been set to "0" in the initialization step).

In this case, since the values of registers R2 and R3 are both "0", thevalue of the accumulator SUM becomes "0", and the feedforward amount FFOalso becomes "0". Accordingly, as far as the value of the counter Cregisters any one of 0, 1, 2, 3 and 4, the feedforward amount FFObecomes "0".

However, the CPU goes to the step S13 from the step S11 when the valueof counter C becomes "5". Then, the accumulator SUM is added with thevalue equal to the value of the register R1 minus the value of theregister R2. As the register R1 stores a value of "8×8"; the registerR2, a value of "0"; and the accumulator SUM, a value of "8×8". Hence,the feedforward amount FFO obtained in the step S14 becomes "1". (Referto FIG. 6)

Subsequently, the counter C continues to increment. The feedforwardamount FFO will become "2" when the value of counter C is "6", and itwill become "3" when the value of counter C is "7". Then, if the valueof counter C becomes "8" in the step S15, one complete distributionperiod will be finished, and therefore the counter C will be reset to"0" again in the step S7.

Further, in this case, a next shift command Mcmd having a value of"-16×8" is read in the step S1, while the register R3 stores "0" and theregister R2 stores "8×8"; and further the register R1 stores "-16×8".

Furthermore, the accumulator SUM is updated by adding the value "8×8" inthe register R2 until the value of counter C becomes "4" (since thevalue in the register R3 is "0").

When the counter C registers 0, 1, 2, 3 and 4, the feedforward amountFFO will become 4, 5, 6, 7 and 8, respectively.

Moreover, the accumulator SUM stores a value of "8×8"×8 when the counterC registers 4. Therefore, when the counter C becomes "5", and the CPUproceeds from the step S11 to the step S13, the accumulator SUM will beupdated in such a manner that the value "-16×8" stored in the registerR1 is added to "8×8"×8, and then subtracted by "8×8" stored in theregister R2. As a result, the feedforward amount FFO is obtained in thestep S14 can be expressed as

    FFO=(8×8×8-16×8-8×8)/8×8=5

In the same way, the feedforward amount FFO becomes 2 when the counter Cregisters 6, and becomes -1 when the counter C registers 7.

By executing the same processing as the above-described one, the samecondition as that shown in FIG. 2 is generated, and therefore, the sameresult as that of the equation (2) is obtained.

Returning again to the explanation with reference to FIG. 2, the CPUproceeds from the step S15 to a step S16, wherein it is judged whetheror not the flag F1 is "1". In this case, if the flag F1 is not set to"1" in the step S4, i.e., the sign of the shift command is not reversed,the CPU proceeds from S16 to S21, and judges whether or not the flag F2is "1".

If the flag F2 is not set to "1" (as will be described later, this flagF2 will not be set to "1" unless the shifting direction is reversed), itis further judged in a step S26 whether or not a counter D that counts atime period of backlash acceleration is equal to or less than "0".

If the counter D gives "0" (as will be described later, the counter Dregisters "0" when the backlash acceleration command is not outputted),both the feedforward processing and the backlash processing will befinished.

On the other hand, when the sign of the shift command Mcmd read in thestep S1 as a shift command for the next distribution period is reversedagainst the sign of the shift command stored in the register Rz, and theflag F1 is set to "1" in the step S4, the CPU proceeds from the step S16to step S17.

Then, it is judged in the step S17 whether the sign of the shift commandstored in the register R1 is positive or negative to identify thedirection in which the sign is changed, i.e., from positive to negativeor from negative to positive.

If the value on the register R1 is negative, it is judged that the signis changed from positive to negative, and the CPU proceeds to a stepS18. Whereas, if the value on the register R1 is positive, the CPUproceeds to a step S19.

In the step S18, it is judged whether or not the feedforward amount FFOcalculated in the step S14 is equal to or less than "0". If thefeedforward amount FFO is larger than "0", the CPU proceeds to a stepS21, and executes a previously described processing without initiating abacklash acceleration correction.

Furthermore, if the feedforward amount FFO is less than "0" in the stepS19, the CPU proceeds to the step S21 in the same manner as theabove-described case without initiating the backlash accelerationcorrection.

That is, as shown in FIG. 6, even if the sign of the next shift commandread in this distribution period is reversed, the feedforward amount FFOwill not immediately be reversed. Therefore, the backlash accelerationcorrection will not be initiated.

As obvious from the processing defined in the step S12, the reversedshift command will not affect the calculation of the feedforward amountFFO until the value of the counter C reaches a predetermined number ofthe position and speed loop processing period corresponding to a half ofthe distribution period, i.e., N/2, so that the sign of the feedforwardamount FrO will not be reversed at least within a time periodcorresponding to N/2 times of position and speed loop processing period.For example, as shown in FIG. 6, even if the sign of the next shiftcommand Mcmd is changed from positive to negative, the sign of thefeedforward amount FFO will not be reversed during several periods ofposition and speed loop processing in the beginning of this distributionperiod.

However, when it is judged in the steps S18 and S19 that the feedforwardamount FFO equals to "0" or its sign is reversed, the flag F2 is set to"1" in step S20. When the flag F2 has been set to "1", the CPU proceedsfrom the step S21 to the step S22, wherein the counter D is set to valueA, which corresponds to a time period required for a backlashacceleration correction, and then, in step S23, the flag F2 is set to"0".

Subsequently, in the next step S24, a backlash acceleration correctionamount having already been set will be outputted. This backlashacceleration correction amount is added to the speed command Vcmd, whichhas previously been corrected by the feedforward amount.

Next, the value registered on counter D is decremented by 1 in step S25to finish both the feedforward control and the backlash accelerationcorrection control to be carried out in this period.

As the flags F1 and F2 are already set to "0" in the succeeding positionand speed loop processing period, the CPU executes the processingdefined by the steps S11 to S15, S16, and S21, and proceeds to the stepS26. And, the CPU carries out the processings defined by the steps S24and S25 so as to perform the backlash acceleration correction until thecounter C is reduced to "0", i.e., until the predetermined backlashacceleration correction time has been elapsed. Then, after the valueregistered on the counter D becomes "0", the backlash accelerationcorrection will no longer be carried out.

By repeating the above-described processing, the initiating time of thebacklash acceleration correction can be synchronized with the time whenthe sign of the feedforward amount FFO is reversed, so that the backlashacceleration correction can be carried out at the optimum position.

Furthermore, as is described in the foregoing, when the feedforwardcoefficient α is close to "1", the speed command Vcmd inputted in thespeed loop processing becomes substantially the same as the commandvalue determined by the feedforward control.

Thus, it is allowable to detect whether or not the sign ofabove-described speed command Vcmd is reversed, without detecting thesign of the feedforward amount FFO, and the time when the speed commandVcmd is reversed may be designated as an initiating time for thebacklash acceleration correction. In this case, the judgements in thesteps S18 and S19 are based on the comparison of the value of this speedcommand Vcmd and "0".

FIG. 8 is an explanatory view comparatively showing the shift commandoutputted from the CNC and the sign reversing time of the feedforwardamount. In this example, a circle having a radius of 16 mm is cut at aspeed of 4000 mm/min, with a distribution period of 8 msec and aposition and speed loop processing period of 1 msec.

In this case, in response to a shift command given in each distributionperiod, a working point moves 0.53 mm that is equivalent to 1.9 degreesin terms of a central angle.

As a result, as shown by R in FIG. 8, a position where the shiftingdirection is reversed will be dispersed within a width of 1.9 degreesdepending on an initiating point of the program prepared for cuttingthis circle.

Whereas, the feedforward amount has a smaller dispersion ofapproximately 0.2 degrees as shown by S in FIG. 8, so that the accuracyin determining an initiation point for the backlash acceleration can beimproved.

According to the present invention, where a servo-motor actuating a feedrod in the machine tool is controlled by the servo system capable ofcarrying out the feedforward control, an initiation time of the backlashacceleration correction is synchronized with a time when the sign of thefeedforward amount is reversed, or a time when the sign of the speedcommand that has been modified by the feedforward amount is reversed,whereby the dispersion of turning point occurring in connection with thecondition of the shift command, which has been distributed, can beabsorbed, and the backlash acceleration correction can be executed fromthe position assuring a higher accuracy than by the conventional method.

What is claimed is:
 1. A backlash acceleration control method for thefeed rod of a machine tool driven by a servo motor, which is designed tobe effective when a shifting direction of the feed rod is reversed,comprising steps of:obtaining a feedforward amount through a smoothingprocessing in which a shift command of a position and speed loopprocessing period and other shift commands respectively corresponding toseveral periods arrayed before and after this position and speed loopprocessing period are averaged; executing a feedforward control on thebasis of said feedforward amount; and initiating a backlash accelerationcorrection at a time when said feedforward amount is reversed frompositive to negative or vice versa.
 2. A backlash acceleration controlmethod in accordance with claim 1, in which said smoothing processingcomprises of the step for obtaining an average of a number of shiftcommands of position and speed loop period, whose number correspondingto a distribution period, and said shift commands consisting of a shiftcommand supplied for this position and speed loop processing and othershift commands evenly arrayed before and after said shift command forthe position and speed loop processing; andsaid feedforward amount isobtained by multiplying the average of said several shift commandsobtained through said smoothing processing by a feedforward coefficient.3. A backlash acceleration control method in accordance with claim 1,wherein said feedforward amount is obtained using a shift commandsupplied for a present distribution period in which a present positionand speed loop processing is carried out, a future shift command to besupplied for a next distribution period, and a shift command having beensupplied for the last distribution period.
 4. A backlash accelerationcontrol method for the feed rod of a machine tool driven by a servomotor, which is designed to be effective when a shifting direction ofthe feed rod is reversed, comprising steps of:obtaining a feedforwardamount by smoothing shift commands supplied from a numerical controlapparatus; executing a feedforward control on the basis of saidfeedforward amount; obtaining a speed command by adding said feedforwardamount to a value obtained by multiplying a positional deviation by aposition gain; and initiating a backlash acceleration correction at atime when said speed command is reversed from positive to negative orvice versa.
 5. A backlash acceleration control method in accordance withclaim 4, wherein the smoothing processing in said obtaining step iscarried out by taking an average of a predetermined number of shiftcommands corresponding to a distribution period, and said shift commandsconsisting of a shift command supplied for position and speed loopprocessing and other shift commands evenly arrayed before and after saidshift command for said position and speed loop processing; andsaidfeedforward amount is obtained by multiplying the average of saidseveral shift commands obtained through said smoothing processing by afeedforward coefficient.
 6. A backlash acceleration control method inaccordance with claim 4, wherein said feedforward amount is obtainedusing a shift command to be supplied for a present distribution periodin which a present position and speed loop processing is carried out, afuture shift command to be supplied for a next distribution period, anda shift command having been supplied for the last distribution period.